import '@/app/(main)/paper/style.scss'; import { TrendingUp, Target, TrendingDown, ListChecks } from 'lucide-react'; import { fetchPaperTrackRecord } from '@/lib/api/paper'; import { formatBpPercent, formatBpAbs, bpDirection } from '@/lib/utils/paper'; type Props = { params: Promise<{ sid: string }>; }; // 프로필 "모의투자 성적" 탭 (익명 허용 · SSR) — 누적수익률·승률·MDD·체결수 export default async function UserProfilePaperPage({ params }: Props) { const { sid } = await params; const res = await fetchPaperTrackRecord(sid); const record = res.success ? res.data : null; if (!res.success) { return
모의투자 성적을 불러오지 못했습니다.
; } if (!record || !record.hasAccount) { return
아직 모의투자에 참여하지 않았습니다.
; } const returnDir = bpDirection(record.cumReturnBp); return (
누적 수익률 {formatBpPercent(record.cumReturnBp)}
승률 {formatBpAbs(record.winRateBp)}
최대 낙폭 (MDD) {formatBpAbs(record.mddBp)}
체결 수 {record.fillCount.toLocaleString()}
); }